package xyz.xtt.asset.client.request;

import java.math.BigDecimal;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 资产划转
 * 
 * @author huqibo
 * @date 2025/01/09
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class TransferFromRequest {
	@NotNull(message = "转出方from不能为空")
	private Long from;
	@NotNull(message = "转入方to不能为空")
	private Long to;
	@Min(value = 1, message = "最少1个")
	@NotNull(message = "请提供数量, 最少1个")
	private Integer amount;
	@Schema(description = "业务方id")
	@NotBlank(message = "请提供bizId")
	private String bizId;
	/**
	 * 第三方 支付单号
	 */
	@NotNull(message = "请提供orderNo")
	@Schema(description = "订单号不能为空")
	@NotBlank(message = "订单号不能为空")
	private String orderNo;
	/**
	 * 售价
	 */
	@Default
	private String price = "0";
	/**
	 * 订单类型
	 */
	private String orderType;
	@Default
	private BigDecimal fees = BigDecimal.ZERO;
	@Default
	private Boolean needConfirm = Boolean.FALSE;
	
	@Schema(description = "划转说明")
	@Default
	private String remark = "";
}
